package cn.virens.database.enums.log;

import java.util.Objects;

import cn.virens.database.common.BaseEnum;

/**
 * 日志等级
 * 
 * @作者   :loioi
 * @创建时间 :2017年2月6日
 */
public enum LogLevel implements BaseEnum<Integer> {
	/** ERROR */
	ERROR(4, "ERROR"),
	/** WARN */
	WARN(3, "WARN"),
	/** INFO */
	INFO(2, "INFO"),
	/** DEBUG */
	DEBUG(1, "DEBUG"),
	/** TRACE */
	TRACE(0, "TRACE");

	private final Integer key;
	private final String desc;

	private LogLevel(Integer key, String desc) {
		this.desc = desc;
		this.key = key;
	}

	@Override
	public boolean eq(Integer _int) {
		return Objects.equals(this.key, _int);
	}

	public static LogLevel parse(Integer _int) {
		for (LogLevel temp : values()) {
			if (temp.eq(_int)) { return temp; }
		}

		return null;
	}

	@Override
	public Integer getKey() {
		return key;
	}

	@Override
	public String getDesc() {
		return desc;
	}

}
